Next | Prev | Up | Top | Contents | Index

Uncached Physical Memory--kseg1

When address bits 31:29 contain 101, access is directly to physical memory, bypassing the cache. Bits 28:0 are placed on the system bus for memory or device transfer.

The kernel refers to kseg1 when interacting with I/O devices because loads or stores from device registers should not pass through cache memory. The kernel also uses kseg1 when operating on certain data structures that might be volatile. Kernel-level device drivers sometimes need to write to uncached memory, and must take special precautions when doing so (see "Uncached Memory Access in the IP26 CPU").

Portions of kseg0 or kseg1 can be mapped into kuseg by the mmap() function. This is covered at more length under "Memory Use in User-Level Drivers".


Next | Prev | Up | Top | Contents | Index